From 6b0c303dfec7e59ef0e245deae67dc977414441d Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Fri, 16 Mar 2007 10:24:56 +0000 Subject: [PATCH] [LINUX] Don't pin the initial page tables on x86_64 when XENFEAT_writable_page_tables. Signed-off-by: Ian Campbell --- linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c b/linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c index de7c80dfb8..40bd5d235e 100644 --- a/linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c +++ b/linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c @@ -597,8 +597,10 @@ void __init xen_init_pt(void) early_make_page_readonly(level2_kernel_pgt, XENFEAT_writable_page_tables); - xen_pgd_pin(__pa_symbol(init_level4_pgt)); - xen_pgd_pin(__pa_symbol(init_level4_user_pgt)); + if (!xen_feature(XENFEAT_writable_page_tables)) { + xen_pgd_pin(__pa_symbol(init_level4_pgt)); + xen_pgd_pin(__pa_symbol(init_level4_user_pgt)); + } set_pgd((pgd_t *)(init_level4_user_pgt + 511), mk_kernel_pgd(__pa_symbol(level3_user_pgt))); -- 2.30.2